package com.ruoyi.mes.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 完工汇报对象 mes_disp_job_done
 * 
 * @author ruoyi
 * @date 2021-11-17
 */
public class MesDispJobDone extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String jobDoneUuid;

    /** 生产派工表ID */
    @Excel(name = "生产派工表ID")
    private String fkDispatchUuid;

    /** 班组（部门表ID，外键） */
    @Excel(name = "班组", readConverterExp = "部=门表ID，外键")
    private Long fkDeptId;

    /** 负责人（用户表ID，外键） */
    @Excel(name = "负责人", readConverterExp = "用=户表ID，外键")
    private Long fkUserId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dtStart;

    /** 完工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dtDone;

    /** 完工数量 */
    @Excel(name = "完工数量")
    private BigDecimal doneQty;

    /** 实际备注 */
    @Excel(name = "实际备注")
    private String actualNote;

    /** 是否按派工UUID分组 */
    private String groupBy_fkDispatchUuid;

    /** 工序符号 */
    @Excel(name = "工序符号")
    private String mesDictProcessCode;

    /** 计划数量 */
    @Excel(name = "计划数量")
    private BigDecimal planQty;

    /** 计划班组 */
    @Excel(name = "计划班组")
    private String planDeptName;

    /** 计划负责人 */
    @Excel(name = "计划负责人")
    private String planNickName;

    /** 图纸号 */
    @Excel(name = "图纸号")
    private String drawNum;

    /** 是否完工 */
    @Excel(name = "是否完工")
    private String sysYesNoDoneProcess;

    /** 定额类型 */
    @Excel(name = "定额类型")
    private String mesDictQuotaLevel;

    /** 单位时长 */
    @Excel(name = "单位时长")
    private Long quotaPerMinutes;

    /** 总时长 */
    @Excel(name = "总时长")
    private Long quotaTotalMinutes;

    /** 计划开始时间 */
    @Excel(name = "计划开始时间")
    private Date planDtStart;

    /** 计划完工时间 */
    @Excel(name = "计划完工时间")
    private Date planDtDone;

    /** 汇报时间 */
    @Excel(name = "汇报时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date docDt;

    /** 实际班组 */
    @Excel(name = "实际班组")
    private String actualDeptName;

    /** 实际负责人 */
    @Excel(name = "实际负责人")
    private String actualNickName;

    /** 批次号 */
    @Excel(name = "批次号")
    private String docNum;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;

    /** 工序类型 */
    @Excel(name = "工序类型")
    private String mesDictProcessType;

    /** 工序名称 */
    @Excel(name = "工序名称")
    private String mesDictProcessName;

    /** 备注 */
    @Excel(name = "备注")
    private String planNote;

    /**计划开始时间-开始时间*/
    @Excel(name = "计划开始时间-开始时间")
    private String dtPlanStartBegin;

    /**计划开始时间-结束时间*/
    @Excel(name = "计划开始时间-开始时间")
    private String dtPlanStartEnd;

    /**计划完工时间-开始时间*/
    @Excel(name = "计划完工时间-开始时间")
    private String dtPlanDoneBegin;

    /**计划完工时间-结束时间*/
    @Excel(name = "计划完工时间-结束时间")
    private String dtPlanDoneEnd;

    /**实际开始时间-开始时间*/
    @Excel(name = "实际开始时间-开始时间")
    private String dtActualStartBegin;

    /**实际开始时间-结束时间*/
    @Excel(name = "实际开始时间-结束时间")
    private String dtActualStartEnd;

    /**实际完工时间-开始时间*/
    @Excel(name = "实际完工时间-开始时间")
    private String dtActualDoneBegin;

    /**实际完工时间-结束时间*/
    @Excel(name = "实际完工时间-结束时间")
    private String dtActualDoneEnd;

    private String oaDictConfirmStatus;

    private String confirmNote;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date confirmDt;

    private Long fkConfirmUserId;

    private String confirmUserName;

    @Override
    public Date getDocDt() {
        return docDt;
    }

    @Override
    public void setDocDt(Date docDt) {
        this.docDt = docDt;
    }

    public void setFkConfirmUserId(Long fkConfirmUserId) {
        this.fkConfirmUserId = fkConfirmUserId;
    }

    public String getConfirmUserName() {
        return confirmUserName;
    }

    public void setConfirmUserName(String confirmUserName) {
        this.confirmUserName = confirmUserName;
    }


    public String getDtPlanStartBegin() {
        return dtPlanStartBegin;
    }

    public void setDtPlanStartBegin(String dtPlanStartBegin) {
        this.dtPlanStartBegin = dtPlanStartBegin;
    }

    public String getDtPlanStartEnd() {
        return dtPlanStartEnd;
    }

    public void setDtPlanStartEnd(String dtPlanStartEnd) {
        this.dtPlanStartEnd = dtPlanStartEnd;
    }

    public String getDtPlanDoneBegin() {
        return dtPlanDoneBegin;
    }

    public void setDtPlanDoneBegin(String dtPlanDoneBegin) {
        this.dtPlanDoneBegin = dtPlanDoneBegin;
    }

    public String getDtPlanDoneEnd() {
        return dtPlanDoneEnd;
    }

    public void setDtPlanDoneEnd(String dtPlanDoneEnd) {
        this.dtPlanDoneEnd = dtPlanDoneEnd;
    }

    public String getDtActualStartBegin() {
        return dtActualStartBegin;
    }

    public void setDtActualStartBegin(String dtActualStartBegin) {
        this.dtActualStartBegin = dtActualStartBegin;
    }

    public String getDtActualStartEnd() {
        return dtActualStartEnd;
    }

    public void setDtActualStartEnd(String dtActualStartEnd) {
        this.dtActualStartEnd = dtActualStartEnd;
    }

    public String getDtActualDoneBegin() {
        return dtActualDoneBegin;
    }

    public void setDtActualDoneBegin(String dtActualDoneBegin) {
        this.dtActualDoneBegin = dtActualDoneBegin;
    }

    public String getDtActualDoneEnd() {
        return dtActualDoneEnd;
    }

    public void setDtActualDoneEnd(String dtActualDoneEnd) {
        this.dtActualDoneEnd = dtActualDoneEnd;
    }

    public String getPlanNote() {
        return planNote;
    }

    public void setPlanNote(String planNote) {
        this.planNote = planNote;
    }

    public Date getPlanDtStart() {
        return planDtStart;
    }

    public void setPlanDtStart(Date planDtStart) {
        this.planDtStart = planDtStart;
    }

    public Date getPlanDtDone() {
        return planDtDone;
    }

    public void setPlanDtDone(Date planDtDone) {
        this.planDtDone = planDtDone;
    }

    public String getActualDeptName() {
        return actualDeptName;
    }

    public void setActualDeptName(String actualDeptName) {
        this.actualDeptName = actualDeptName;
    }

    public String getActualNickName() {
        return actualNickName;
    }

    public void setActualNickName(String actualNickName) {
        this.actualNickName = actualNickName;
    }

    @Override
    public String getItemName() {
        return itemName;
    }

    @Override
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getMesDictProcessType() {
        return mesDictProcessType;
    }

    public void setMesDictProcessType(String mesDictProcessType) {
        this.mesDictProcessType = mesDictProcessType;
    }

    public String getMesDictProcessName() {
        return mesDictProcessName;
    }

    public void setMesDictProcessName(String mesDictProcessName) {
        this.mesDictProcessName = mesDictProcessName;
    }

    public String getMesDictProcessCode() {
        return mesDictProcessCode;
    }

    public void setMesDictProcessCode(String mesDictProcessCode) {
        this.mesDictProcessCode = mesDictProcessCode;
    }

    public BigDecimal getPlanQty() {
        return planQty;
    }

    public void setPlanQty(BigDecimal planQty) {
        this.planQty = planQty;
    }

    public String getPlanDeptName() {
        return planDeptName;
    }

    public void setPlanDeptName(String planDeptName) {
        this.planDeptName = planDeptName;
    }

    public String getPlanNickName() {
        return planNickName;
    }

    public void setPlanNickName(String planNickName) {
        this.planNickName = planNickName;
    }

    public String getDrawNum() {
        return drawNum;
    }

    public void setDrawNum(String drawNum) {
        this.drawNum = drawNum;
    }

    public String getSysYesNoDoneProcess() {
        return sysYesNoDoneProcess;
    }

    public void setSysYesNoDoneProcess(String sysYesNoDoneProcess) {
        this.sysYesNoDoneProcess = sysYesNoDoneProcess;
    }

    public String getMesDictQuotaLevel() {
        return mesDictQuotaLevel;
    }

    public void setMesDictQuotaLevel(String mesDictQuotaLevel) {
        this.mesDictQuotaLevel = mesDictQuotaLevel;
    }

    public Long getQuotaPerMinutes() {
        return quotaPerMinutes;
    }

    public void setQuotaPerMinutes(Long quotaPerMinutes) {
        this.quotaPerMinutes = quotaPerMinutes;
    }

    public Long getQuotaTotalMinutes() {
        return quotaTotalMinutes;
    }

    public void setQuotaTotalMinutes(Long quotaTotalMinutes) {
        this.quotaTotalMinutes = quotaTotalMinutes;
    }

    public String getGroupBy_fkDispatchUuid() {
        return groupBy_fkDispatchUuid;
    }

    public void setGroupBy_fkDispatchUuid(String groupBy_fkDispatchUuid) {
        this.groupBy_fkDispatchUuid = groupBy_fkDispatchUuid;
    }

    /** 完工汇报（工人）信息 */
    private List<MesDispJobWorkers> mesDispJobWorkersList;

    public void setJobDoneUuid(String jobDoneUuid) 
    {
        this.jobDoneUuid = jobDoneUuid;
    }

    public String getJobDoneUuid() 
    {
        return jobDoneUuid;
    }
    public void setFkDispatchUuid(String fkDispatchUuid) 
    {
        this.fkDispatchUuid = fkDispatchUuid;
    }

    public String getFkDispatchUuid() 
    {
        return fkDispatchUuid;
    }
    public void setFkDeptId(Long fkDeptId) 
    {
        this.fkDeptId = fkDeptId;
    }

    public Long getFkDeptId() 
    {
        return fkDeptId;
    }
    public void setFkUserId(Long fkUserId) 
    {
        this.fkUserId = fkUserId;
    }

    public Long getFkUserId() 
    {
        return fkUserId;
    }
    public void setDtStart(Date dtStart) 
    {
        this.dtStart = dtStart;
    }

    public Date getDtStart() 
    {
        return dtStart;
    }
    public void setDtDone(Date dtDone) 
    {
        this.dtDone = dtDone;
    }

    public Date getDtDone() 
    {
        return dtDone;
    }
    public void setDoneQty(BigDecimal doneQty)
    {
        this.doneQty = doneQty;
    }

    public BigDecimal getDoneQty()
    {
        return doneQty;
    }
    public void setActualNote(String actualNote) 
    {
        this.actualNote = actualNote;
    }

    public String getActualNote() 
    {
        return actualNote;
    }

    public List<MesDispJobWorkers> getMesDispJobWorkersList()
    {
        return mesDispJobWorkersList;
    }

    public void setMesDispJobWorkersList(List<MesDispJobWorkers> mesDispJobWorkersList)
    {
        this.mesDispJobWorkersList = mesDispJobWorkersList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("jobDoneUuid", getJobDoneUuid())
            .append("fkDispatchUuid", getFkDispatchUuid())
            .append("fkDeptId", getFkDeptId())
            .append("fkUserId", getFkUserId())
            .append("dtStart", getDtStart())
            .append("dtDone", getDtDone())
            .append("doneQty", getDoneQty())
            .append("actualNote", getActualNote())
            .append("mesDispJobWorkersList", getMesDispJobWorkersList())
            .toString();
    }
}
